package code12._enum;

import java.util.Arrays;

import org.junit.Test;

public class Test01 {
	@Test
	public void f1() {
		//Season s1 = new Season();// 私有的构造方法
		// 使用 枚举类名.枚举项名 来访问 提供的对象, 和普通对象的用法相同
		Season s1 = Season.SPRING;
		System.out.println(s1.getName());
	}
	@Test
	public void f2() {
		String todo = in(1);
		System.out.println(todo);
		System.out.println(in(123));// 无法限制参数的值
		System.out.println("------");
		
		String s = in2(Season.SPRING);// 使用枚举, 限制参数值
		System.out.println("s:"+s);
	}
	@Test
	public void f3() {
		// 获取当前枚举类的 所有枚举项
		Season[] values = Season.values();
		System.out.println(Arrays.toString(values));
	}
	/**
	 * 传入 季节，返回该季节可做的事情
	 * @param n
	 * @return
	 */
	public static String in(int n) {
		String todo = "";
		switch (n) {
			case 1:
				todo = "采花";
				break;
			case 2:
				todo = "游泳";
				break;
			case 3:
				todo = "采苹果";
				break;
			case 4:
				todo = "堆雪人";
				break;
			default:
				break;
		}
		return todo;
	}
	/**
	 * 传入 季节，返回该季节可做的事情
	 * @param season
	 * @return
	 */
	public static String in2(Season season) {
		String todo = "";
		switch (season) {// 可以使用枚举类型
			case SPRING: // 可以省略 枚举类名, 直接使用 枚举项
				todo = "采花";
				break;
			case SUMMER:
				todo = "游泳";
				break;
			case AUTUMN:
				todo = "采苹果";
				break;
			case WINTER:
				todo = "堆雪人";
				break;
			default:
				break;
		}
		return todo;
	}
	
}
